﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace BoekenUsb2.Model.DatabaseRepositories
{
    public abstract partial class DatabaseRepository
    {
        /************/
        /* Uitgever */
        /************/

        public DataTable Uitgever_GetData()
        {
            return defaultExecuteReaderDataTable(CommandType.Text, "SELECT uitgeverID, uitgeverCode, uitgeverNaam, isPlato FROM Uitgever");
        }

        public int Uitgever_GetAantalByUitgeverCode(string uitgeverCode)
        {
            int aantal = 0;
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(1);
                dbManager.AddParameters(0, "@uitgeverCode", uitgeverCode);
                aantal = Int32.Parse(dbManager.ExecuteScalar(CommandType.Text, "SELECT COUNT(*) FROM Boek WHERE uitgeverCode = @uitgeverCode").ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return aantal;
        }

        public int Uitgever_UpdateUitgever(string nieuweUitgeverCode, string oudeUitgeverCode)
        {
            int aantal = 0;
            try
            {
                dbManager.Open();
                dbManager.CreateParameters(2);
                dbManager.AddParameters(0, "@nieuweUitgeverCode", nieuweUitgeverCode);
                dbManager.AddParameters(1, "@oudeUitgeverCode", oudeUitgeverCode);
                aantal = Int32.Parse(dbManager.ExecuteNonQuery(CommandType.Text, "UPDATE Boek SET categorieCode = @nieuweCategorieCode WHERE categorieCode = @oudeCategorieCode").ToString());
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                dbManager.Dispose();
            }
            return aantal;
        }

    }
}
